﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace YinLongTool.DateTimeExt
{
    /// <summary>
    /// 年份相关的时间帮助类
    /// </summary>
   public class DateTimeYearHelper
    { 
        /// <summary>
        /// 返回本年有多少天
        /// </summary>
       
        /// <param name="iYear">年份</param>
        /// <returns>本年的天数</returns>
        public static int GetDaysOfYear( int iYear)
        {
            return IsRuYear(iYear) ? 366 : 365;
        }
        /// <summary>本年有多少天</summary>
        /// <param name="dt">日期</param>
        /// <returns>本天在当年的天数</returns>
        public static int GetDaysOfYear(DateTime dt)
        {
            //取得传入参数的年份部分，用来判断是否是闰年
            int n = dt.Year;
            return IsRuYear(n) ? 366 : 365;
        }

        /// <summary>判断当前年份是否是闰年，私有函数</summary>
        /// <param name="iYear">年份</param>
        /// <returns>是闰年：True ，不是闰年：False</returns>
        private static bool IsRuYear(int iYear)
        {
            //形式参数为年份
            //例如：2003
            var n = iYear;
            return n % 400 == 0 || n % 4 == 0 && n % 100 != 0;
        }
    }
}
